home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b4.d64 / example11.2 < prev    next >
Text File  |  2007-02-28  |  1KB  |  50 lines

  1. 0010 DIM LIFE$(15) OF 15, CHANGE$(15) OF 15
  2. 0020 FOR ROW:=1 TO 15 DO
  3. 0040 LIFE$(ROW)(1:15):=" "
  4. 0050 CHANGE$(ROW)(1:15):=" "
  5. 0070 ENDFOR ROW
  6. 0080 READ ROW,COL
  7. 0090 WHILE ROW>0 AND COL>0 DO
  8. 0100 LIFE$(ROW)(COL):="*"
  9. 0110 READ ROW,COL
  10. 0120 ENDWHILE 
  11. 0130 PRINTIT
  12. 0140 REPEAT 
  13. 0150 FLAG:=0
  14. 0160 FOR ROW:=2 TO 14 DO
  15. 0165 CHANGE$(ROW)(1:15):=" "
  16. 0170 FOR COL:=2 TO 14 DO
  17. 0180 TEST(ROW,COL)
  18. 0190 ENDFOR COL
  19. 0200 ENDFOR ROW
  20. 0210 IF FLAG=0 THEN
  21. 0220 PRINT "ALL DEAD"
  22. 0230 STOP 
  23. 0240 ENDIF 
  24. 0250 FOR ROW:=1 TO 15 DO
  25. 0270 LIFE$(ROW)(1:15):=CHANGE$(ROW)(1:15)
  26. 0290 ENDFOR ROW
  27. 0300 PRINTIT
  28. 0310 UNTIL 2=1
  29. 0320 PROC PRINTIT 
  30. 0330 PRINT CHR$(147)
  31. 0340 FOR ROW:=1 TO 15 DO
  32. 0370 PRINT TAB(20),LIFE$(ROW)(1:15)
  33. 0430 ENDFOR ROW
  34. 0440 ENDPROC PRINTIT
  35. 0450 PROC TEST(ROW,COL) 
  36. 0460 COUNT:=0
  37. 0470 FOR C:=COL-1 TO COL+1 DO
  38. 0480 IF LIFE$(ROW-1)(C)="*" THEN COUNT:=COUNT+1
  39. 0490 IF LIFE$(ROW+1)(C)="*" THEN COUNT:=COUNT+1
  40. 0510 ENDFOR C
  41. 0520 IF LIFE$(ROW)(COL-1)="*" THEN COUNT:=COUNT+1
  42. 0530 IF LIFE$(ROW)(COL+1)="*" THEN COUNT:=COUNT+1
  43. 0540 IF COUNT=3 OR (COUNT=2 AND LIFE$(ROW)(COL)="*") THEN
  44. 0550 CHANGE$(ROW)(COL):="*"
  45. 0560 FLAG:=1
  46. 0570 ENDIF 
  47. 0580 ENDPROC TEST
  48. 0590 DATA 6,6,6,7,6,8,6,9,6,10,7,6,7,10,8,6,8,10,9,6,9,10,10,6,10,7
  49. 0600 DATA 10,6,10,7,10,8,10,9,10,10,-1,-1
  50.